home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0257 / lib.exe / PRINT.LIB < prev    next >
Text File  |  1992-02-02  |  2KB  |  178 lines

  1. #IF !LIB4A86
  2. #ELSE
  3. #IF !INTERN_LIB4A86_S
  4. INTERN_LIB4A86_S EQU 01
  5. JMP START
  6. #ENDIF
  7. #ENDIF
  8. PRINT_NOTLOADED EQU 00H
  9. PRINT_INVALIDFUNCTION EQU 01H
  10. PRINT_FILENOTFOUND EQU 02H
  11. PRINT_PATHNOTFOUND EQU 03H
  12. PRINT_NOFREEHANDLE EQU 04H
  13. PRINT_ACCESDENIED EQU 05H
  14. PRINT_NOFREEENTRY EQU 08H
  15. PRINT_BUSY EQU 09H
  16. PRINT_NAMETOLONG EQU 0CH
  17. PRINT_INVALIDDRIVE EQU 0FH
  18. PRINTLOADED?:
  19. MOV AX,0100H
  20. INT 02FH
  21. OR AL,AL
  22. CLC
  23. IF Z STC
  24. RET
  25. PRINTFILE:
  26. CALL PRINTLOADED?
  27. JNC >L1
  28. RET
  29. L1:
  30. PUSH SI,DX,DS
  31. PUSH BP
  32. MOV BP,SP
  33. SUB SP,5
  34. CLD
  35. XOR AH,AH
  36. MOV [BP-5],AH
  37. MOV DX,SI
  38. INC DX
  39. MOV [BP-4],DX
  40. MOV [BP-2],DS
  41. LODSB
  42. ADD SI,AX
  43. XCHG [SI],AH
  44. PUSH AX
  45. MOV DS,SS
  46. LEA DX,[BP-5]
  47. MOV AX,0101H
  48. INT 02FH
  49. POP DX
  50. MOV [SI],DH
  51. MOV SP,BP
  52. POP BP
  53. POP DS,DX,SI
  54. RET
  55. DELETEPRINTQUEUEENTRY:
  56. CALL PRINTLOADED?
  57. JNC >L1
  58. RET
  59. L1:
  60. PUSH DX,SI
  61. CLD
  62. XOR AH,AH
  63. LODSB
  64. MOV DX,SI
  65. ADD SI,AX
  66. XCHG [SI],AH
  67. PUSH AX
  68. MOV AX,0102H
  69. INT 02FH
  70. POP DX
  71. MOV [SI],DH
  72. POP SI,DX
  73. RET
  74. DELETEPRINTQUEUEENTRYS:
  75. CALL PRINTLOADED?
  76. JNC >L1
  77. RET
  78. L1:
  79. MOV AX,0103H
  80. INT 02FH
  81. RET
  82. GETPRINTQUEUEENTRYS:
  83. CLD
  84. JCXZ >L1
  85. PUSH DI,CX
  86. XOR AL,AL
  87. L0:
  88. STOSB
  89. ADD DI,64XD
  90. LOOP L0
  91. POP CX,DI
  92. L1:
  93. CALL PRINTLOADED?
  94. JNC >L1
  95. RET
  96. L1:
  97. PUSH DS,SI,DI,DX,BX,CX
  98. PUSH BP
  99. MOV BP,SP
  100. MOV AX,0104H
  101. INT 02FH
  102. JC >L8
  103. XOR DX,DX
  104. XOR AL,AL
  105. PUSH DS,SI
  106. L0:
  107. CMP [SI],AL
  108. JZ >L01
  109. INC DX
  110. ADD SI,64XD
  111. JMP L0
  112. L01:
  113. POP SI,DS
  114. MOV [BP+2],DX
  115. CMP CX,DX
  116. IF A MOV CX,DX
  117. JCXZ >L8
  118. L0:
  119. MOV BX,DI
  120. INC DI
  121. MOV DX,SI
  122. LODSB
  123. OR AL,AL
  124. JZ >L8
  125. XOR AH,AH
  126. L00:
  127. STOSB
  128. INC AH
  129. LODSB
  130. OR AL,AL
  131. JNZ L00
  132. L01:
  133. MOV ES:[BX],AH
  134. LEA DI,[BX+65XD]
  135. MOV SI,DX
  136. ADD SI,64XD
  137. LOOP L0
  138. L8:
  139. PUSH AX
  140. PUSHF
  141. MOV AX,0105H
  142. INT 02FH
  143. POPF
  144. POP AX
  145. POP BP
  146. POP CX,BX,DX,DI,SI,DS
  147. RET
  148. #IF !INTERN_CMARK0
  149. INTERN_CMARK0 EQU 01H
  150. INTERN_CMARK1:
  151. PUSH BP
  152. MOV BP,SP
  153. MOV BX,06H
  154. SUB CH,[BP+SI]
  155. SUB AH,[BX+SI]
  156. DEC SP
  157. DEC CX
  158. INC DX
  159. XOR AL,041H
  160. CMP B[02820H],DH
  161. INC BX
  162. SUB W[BX+SI],SP
  163. INC DX
  164. CS AND B[BP+DI+043H],DL
  165. DEC AX
  166. INC BP
  167. DEC BP
  168. DEC BP
  169. INC BP
  170. PUSH DX
  171. AND B[BP+SI],CH
  172. SUB CH,[BP+SI]
  173. POP DX
  174. MOV SP,BP
  175. POP BP
  176. RET
  177. #ENDIF
  178.